package com.dnjn.happiness.biz.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dnjn.happiness.biz.domain.Advice;
import com.dnjn.happiness.biz.domain.AdviceVo;
import com.dnjn.happiness.biz.domain.dto.StatisticalAnalysisDTO;
import com.dnjn.happiness.biz.domain.vo.StatisticalAnalysisAppriseVO;
import com.dnjn.happiness.biz.domain.vo.StatisticalAnalysisVO;

import java.util.List;

/**
 * 建议Service接口
 *
 * @author happiness
 * @date 2023-10-14
 */
public interface IAdviceService extends IService<Advice> {
    int saveAdvice(AdviceVo advice);

    List<AdviceVo> queryByUserId(Advice domain);

    List<AdviceVo> listQueryUserTag(Advice domain);


    Page<AdviceVo> selectPageX(Advice domain, Page page);

    void getAdviceImageAndThumps(List<AdviceVo> records);

    /**
     * 更改处理人,指派
     *
     * @param domain
     * @return
     */
    int UpdateOper(Advice domain);

    int updateAdviceById(Long adviceId, Long thumsCount);

    List<Advice> queryAssign(Long adviceId);

    Integer getAdviceThumpsById(Long userId);

    Advice selectById(Long adviceId);

    Page<StatisticalAnalysisVO> selectStatisticalAnalysisAdvice(Long adviceTagsId, Integer count, String symbol, Page<Object> advice_id);

    List<StatisticalAnalysisVO> selectStatisticalAnalysisAdviceList(StatisticalAnalysisAppriseVO vo);

    Double modelUp(Long userId,String time);

    Double modelOper(Long userId,String time);

    List<StatisticalAnalysisVO> selectStatistical(StatisticalAnalysisDTO dto, Long deptId);

    Page<AdviceVo> getPage(Advice domain, Page page);


    /**
     * 根据用户ID查询我的所有建议 小程序-我的建议
     * @param userId
     * @return
     */
//    List<Advice> selectAdviceByUserID(Long userId);

}
